$(function () {
    //数据字典
    var dic_datagrid = $("#dic_datagrid");
    var dic_dialog = $("#dic_dialog");
    var dic_editForm = $("#dic_editForm");

    //数据字典明细
    var dicItems_datagrid = $("#dicItems_datagrid");
    var dicItems_dialog = $("#dicItems_dialog");
    var dicItems_editForm = $("#dicItems_editForm");

    //数据字典列表初始化
    dic_datagrid.datagrid({
        fit: true,
        fitColumns: true,
        striped: true,
        url: "/dataDictionary/list.do",
        pagination: true,
        rownumbers: true,
        singleSelect: true,
        toolbar: "#dic_tb",
        columns: [[
            {field: "cb", checkbox: true},
            {field: "id", hidden: true},
            {field: "name", title: "数据字典名称", width: 80},
            {field: "sn", title: "数据字典编号", width: 80},
            {field: "intro", title: "数据字典简介", width: 80}
        ]], onClickRow: function (index, row) {
            dicItems_datagrid.datagrid({
                url: '/dictionaryItems/getItemByDataDictionarySn.do?sn=' + row.sn,
                fit: true,
                fitColumns: true,
                columns: [
                    [
                        {
                            field: 'parent', title: '字典目录名称', width: 100, formatter: function (value) {
                                return value ? value.name : "";
                            }
                        },
                        {field: 'name', title: '字典明细名称', width: 100},
                        {field: 'intro', title: '字典明细简介', width: 100},
                    ]
                ],
                rownumbers: true,
                singleSelect: true,
                toolbar: "#dicItems_tb"
            })

        }
    })
    //end

    //数据字典列表明细初始化
    dicItems_datagrid.datagrid({
        fit: true,
        fitColumns: true,
        striped: true,
        pagination: true,
        rownumbers: true,
        singleSelect: true,
        toolbar: "#dicItems_tb",
        columns: [[
            {field: "cb", checkbox: true},
            {field: "id", hidden: true},
            {
                field: "parent", title: "字典目录编码", width: 80, formatter: function (value) {
                    return value ? value.name : "";
                }
            },
            {field: "name", title: "字典明细名称", width: 80},
            {field: "intro", title: "字典明细简介", width: 80}
        ]]
    })
    //end


    //对话框初始化
    dic_dialog.dialog({
        width: 300,
        height: 300,
        buttons: "#dic_bb",
        closable: true,
        closed: true
    })
    //end


    //对话框初始化
    dicItems_dialog.dialog({
        width: 300,
        height: 300,
        buttons: "#dicItems_bb",
        closable: true,
        closed: true
    })
    //end


    var cmdObj = {
        //数据字典添加
        dic_add: function () {

            //打开弹出框
            dic_dialog.dialog("open");

            //设置标题投
            dic_dialog.dialog("setTitle", "数据字典添加");

            //清除缓存数据
            dic_editForm.form("clear");
        },
        //数据字典编辑
        dic_edit: function () {

            //判断是否选中数据
            var row = dic_datagrid.datagrid("getSelected");

            if (!row) {
                //提示选择数据
                $.messager.alert('温馨提示', '至少选择一条编辑数据', "info");
                return;
            }
            //打开弹出框
            dic_dialog.dialog("open");

            //设置标题投
            dic_dialog.dialog("setTitle", "数据字典编辑");


            //清除缓存数据
            dic_editForm.form("clear");

            //构建数据字典回显数据
            //数据回显
            dic_editForm.form("load", row);
        },
        //数据字典保存/更新
        dic_save: function () {
            //表单提交url
            var url = "";
            //使用id区分保存于更新操作
            var id = $("#dicId").val();
            if (id) {
                //编辑
                url = "/dataDictionary/edit.do";
            } else {
                //添加
                url = "/dataDictionary/save.do";
            }
            //提交表单
            dic_editForm.form("submit", {
                url: url,
                success: function (data) {
                    //jquery将字符串转换json对象
                    //data必须是标准的json字符串
                    data = $.parseJSON(data);
                    if (data.success) {
                        //提示成功
                        $.messager.confirm('温馨提示', "操作成功", function (r) {
                            //关闭窗口
                            dic_dialog.dialog("close");
                            //刷新数据
                            dic_datagrid.datagrid("reload");

                        });
                    } else {
                        $.messager.alert('温馨提示', data.msg, "error");
                    }
                }

            })

        },
        //数据字典删除
        dic_remove: function () {
            //判断是否选中数据
            var row = dic_datagrid.datagrid("getSelected");
            if (!row) {
                //提示选择数据
                $.messager.alert('温馨提示', '至少选择一条要删除数据', "info");
                return;
            }
            $.messager.confirm('温馨提示', "您确定要删除么?", function (ret) {
                if (ret) {
                    //确定删除
                    $.get("/dataDictionary/delete.do?id=" + row.id, function (data) {

                        if (data.success) {
                            //删除成功
                            $.messager.confirm('温馨提示', "删除成功", function (r) {
                                //刷新数据
                                dic_datagrid.datagrid("reload");
                            });
                        } else {
                            $.messager.alert('温馨提示', data.msg, "error");
                        }

                    })
                }

            });
        },

        //刷新
        dic_reload: function () {
            dic_datagrid.datagrid("reload");
        },
        //对话框取消
        dic_cancel: function () {
            //关闭窗口
            dic_dialog.dialog("close");
        },
        //数据字典明细开始

        //数据字典明细添加
        dicItems_add: function () {

            //打开弹出框
            dicItems_dialog.dialog("open");

            //设置标题投
            dicItems_dialog.dialog("setTitle", "数据字典添加");

            //清除缓存数据
            dicItems_editForm.form("clear");
        },
        //数据字典明细编辑
        dicItems_edit: function () {

            //判断是否选中数据
            var row = dicItems_datagrid.datagrid("getSelected");

            if (!row) {
                //提示选择数据
                $.messager.alert('温馨提示', '至少选择一条编辑数据', "info");
                return;
            }

            if (row.parent) {
                row["parent.sn"] = row.parent.sn;
            }
            //设置标题投
            dicItems_dialog.dialog("setTitle", "数据字典编辑");


            //清除缓存数据
            dicItems_editForm.form("clear");

            //构建数据字典明细回显数据
            //数据回显
            dicItems_editForm.form("load", row);
            //打开弹出框
            dicItems_dialog.dialog("open");
        },
        //数据字典明细保存/更新
        dicItems_save: function () {
            //表单提交url
            var url = "";
            //使用id区分保存于更新操作
            var id = $("#dicItemsId").val();
            if (id) {
                //编辑
                url = "/dictionaryItems/edit.do";
            } else {
                //添加
                url = "/dictionaryItems/save.do";
            }
            //提交表单
            dicItems_editForm.form("submit", {
                url: url,
                success: function (data) {
                    //jquery将字符串转换json对象
                    //data必须是标准的json字符串
                    data = $.parseJSON(data);
                    if (data.success) {
                        //提示成功
                        $.messager.confirm('温馨提示', "操作成功", function (r) {
                            //关闭窗口
                            dicItems_dialog.dialog("close");
                            //刷新数据
                            dicItems_datagrid.datagrid("reload");

                        });
                    } else {
                        $.messager.alert('温馨提示', data.msg, "error");
                    }
                }

            })

        },
        //数据字典删除
        dicItems_remove: function () {
            //判断是否选中数据
            var row = dicItems_datagrid.datagrid("getSelected");
            if (!row) {
                //提示选择数据
                $.messager.alert('温馨提示', '至少选择一条要删除数据', "info");
                return;
            }
            $.messager.confirm('温馨提示', "您确定要删除么?", function (ret) {
                if (ret) {
                    //确定删除
                    $.get("/dictionaryItems/delete.do?id=" + row.id, function (data) {

                        if (data.success) {
                            //删除成功
                            $.messager.confirm('温馨提示', "删除成功", function (r) {
                                //刷新数据
                                dicItems_datagrid.datagrid("reload");
                            });
                        } else {
                            $.messager.alert('温馨提示', data.msg, "error");
                        }

                    })
                }

            });
        },

        //刷新
        dicItems_reload: function () {
            dicItems_datagrid.datagrid("reload");
        },
        //对话框取消
        dicItems_cancel: function () {
            //关闭窗口
            dicItems_dialog.dialog("close");
        }
    }
    //end

//给按钮绑定事件
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    })

});
//end
